Codeforces 1672 F1. Array Shuffling
全部标签A-SashaandArrayColoring(CF1843A)题目大意给定一个数组,给每个元素涂色。求最大的代价。代价为每个颜色的代价和。每个颜色的代价为涂了该颜色的元素的极差。解题思路因为是极差,每个元素要么对答案有正的贡献,要么有负的贡献,要么无贡献。且正负贡献的个数要相同。因为要最大值,自然就是想有正贡献的是最大的那些数,负贡献的是最小的那些数。因此答案就是最大的那一半的和\(-\)最小的那一半的和。奇数的话中间多出来的一个无贡献。神奇的代码#includeusingnamespacestd;usingLL=longlong;intmain(void){ios::sync_with_s
目录串口配置串口发送1使用SendString函数发送2使用printf函数发送串口接收 串口配置首先对串口进行初始化包括使能串口时钟,这里我使用的是usart2,使能GPIO时钟,这里我用的是A口,以及GPIO口的配置,这里我的串口输出是PA2,输入是PA3然后初始化usart2,再使能usart2,具体代码如下:/*串口初始化*/voidSTM_EVAL_COMInit(USART_InitTypeDef*USART_InitStruct){GPIO_InitTypeDefGPIO_InitStructure;/*EnableGPIOclock*/RCC_APB2PeriphClockC
目录串口配置串口发送1使用SendString函数发送2使用printf函数发送串口接收 串口配置首先对串口进行初始化包括使能串口时钟,这里我使用的是usart2,使能GPIO时钟,这里我用的是A口,以及GPIO口的配置,这里我的串口输出是PA2,输入是PA3然后初始化usart2,再使能usart2,具体代码如下:/*串口初始化*/voidSTM_EVAL_COMInit(USART_InitTypeDef*USART_InitStruct){GPIO_InitTypeDefGPIO_InitStructure;/*EnableGPIOclock*/RCC_APB2PeriphClockC
前言本项目是对b站up主的开源项目进行了复刻,平衡车也特别适合作为入门单片机了解控制原理的一个小项目,这里主要记录复刻的过程与心得。一、硬件搭建 所需工具:焊烙铁、热风枪 首先焊单片机最小系统,包括原理图中的最小系统、电源以及串口通信部分。 首先对电源部分打电表,确定5V、3V3和GND没有短接。 电脑提前安装好CH340驱动,连接串口是否能正常识别,正常识别后才可以进行下面的操作,我刚开始将Type-C口两侧的端口GND、A4B9焊在了一起,导致串口无法识别,排除了很久。 由于MPU6050是QFN封装,还是用热风枪比较方便,提前准备好锡膏和助焊剂,锡
定时器-PWM输出STM32PWM工作过程ARR寄存器决定PWM周期,CCR寄存器决定占空比通道1为例的PWM输出电路图CCR1:捕获比较(值)寄存器(x=1,2,3,4):设置比较值。CCMR1:OC1M[2:0]位:对于PWM方式下,用于设置PWM模式1【110】或者PWM模式2【111】CCER:CC1P位:输入/捕获1输出极性。0:高电平有效,1:低电平有效。CCER:CC1E位:输入/捕获1输出使能。0:关闭,1:打开。PWM模式1和模式2的区别捕获/比较模式寄存器1(TIMx_CCMR1)有效电平并不是指高电平或者低电平,设置高电平有效还是低电平有效要看CCER寄存器的CC1P位C
目录A.Garland(签到)题面翻译思路:代码B.PointsonPlane(数学)题面翻译思路:代码C.SumonSubarray(构造)题面翻译:思路:代码D.BinaryStringSorting题面翻译思路:代码A.Garland(签到)Youhaveagarlandconsistingof 4 coloredlightbulbs,thecolorofthe i-thlightbulbis si.Initially,allthelightbulbsareturnedoff.Yourtaskistoturnallthelightbulbson.Youcanperformthefollo
目录A.Garland(签到)题面翻译思路:代码B.PointsonPlane(数学)题面翻译思路:代码C.SumonSubarray(构造)题面翻译:思路:代码D.BinaryStringSorting题面翻译思路:代码A.Garland(签到)Youhaveagarlandconsistingof 4 coloredlightbulbs,thecolorofthe i-thlightbulbis si.Initially,allthelightbulbsareturnedoff.Yourtaskistoturnallthelightbulbson.Youcanperformthefollo
【f1c200s/f1c100s】mangopi自制linux开发板驱动适配进度(PCB、代码开源)目前进度过程记录博客目前进度目前自制的mangopi设备驱动适配已完成部分包含:基于扫描的gpio-keys子系统适配LED子系统适配RGB接口LCD显示屏适配ft5406触摸屏适配博通RTL8188EUS无线网卡适配PWM驱动适配显示屏背光适配以下这几项在下载到荔枝派源码时已经适配好了:SPIFLASH驱动USB驱动串口驱动mangopi内核代码和uboot代码是基于licheepinano修改的。mangopi有哪些外设资源可以看:【f1c200s/f1c100s】全志f1c200s开发板设
Problem-E-Codeforces思路:我们把比赛看成K层(0~K-1)的完美 二叉树按照题目的要求,第k层我们需要把(1我们讨论第k层输的队伍的方案数首先,我们需要把那些指定在k层这里哪个位置输的位置处理好,如果有两个队伍输在一个位置,无解。处理完后,那些还没有被特别指定哪个队伍属于这个位置的有cnt个,显然对于这些位置,当前只剩下两个空位(一个给这一层这个位置输的人,一个给这一层赢的人),如果赢的人位置没有指定,显然输的人可以任取这两个位置其中一个,如果指定,只能取剩下的一个所以我们也要处理1~(1所以这一层贡献的方案数就是,A为排列,tmp表示这些cnt位置如果有一个是有两个没有指
MDK的一个强大的功能就是提供软件仿真,通过软件仿真,我们可以发现很多将要出现的问题,避免了下载到STM32里面来查这些错误,这样最大的好处是能很方便的检查程序存在的问题,因为在MDK的仿真下面,你可以查看很多硬件相关的寄存器,通过观察这些寄存器,你可以知道代码是不是真正有效。另外一个优点是不必频繁的刷机,从而延长了STM32的FLASH寿命(STM32的FLASH寿命≥1W次)。当然,软件仿真不是万能的,很多问题还是要到在线调试才能发现。检查配置如下图Debug选项卡UseSimulator,即使用软件仿真。选择:Runtomain(),即跳过汇编代码,直接跳转到main函数开始仿真。设置下